Parallel functional programming in Eden

نویسندگان

  • Rita Loogen
  • Yolanda Ortega-Mallén
  • Ricardo Peña-Marí
چکیده

Eden extends the non-strict functional language Haskell with constructs to control parallel evaluation of processes. Although processes are defined explicitly, communication and synchronisation issues are handled in a way transparent to the programmer. In order to offer effective support for parallel evaluation, Eden’s coordination constructs override the inherently sequential demand-driven (lazy) evaluation strategy of its computation language Haskell. Eden is a general-purpose parallel functional language suitable for developing sophisticated skeletons – which simplify parallel programming immensely – as well as for exploiting more irregular parallelism that cannot easily be captured by a predefined skeleton. The paper gives a comprehensive description of Eden, its semantics, its skeleton-based programming methodology – which is applied in three case studies – its implementation and performance. Furthermore it points at many additional results that have been achieved in the context of the Eden project.

منابع مشابه

Implementing Eden - or: Dreams Become Reality

The parallel functional programming language Eden was specially designed to be implemented in a distributed setting. In a previous paper 3] we presented an operational speciication of DREAM, the distributed abstract machine for Eden. In this paper we go a step further and present the imperative code generated for Eden expressions and how this code interact with the distributed RunTime System (R...

متن کامل

From GranSim to Paradise

We describe PARADISE (PARAllel DIstribution Simulator for Eden) a simulator developed to proole the execution of programs written in the parallel functional programming language Eden BLOMP96], BLOMP97]. Eden extends the lazy functional language Haskell by syntactic constructs to explicitly deene processes. Paradise is a substantial modiication of GranSim HLP94], Loi96], Loi98], a tool to study ...

متن کامل

From (Sequential) Haskell to (Parallel) Eden: An Implementation Point of View

The explicitly parallel programming language Eden adds a coordination level to the lazy functional language Haskell. This paper describes how a compiler and runtime system for Eden can incrementally be built on the basis of a compiler and runtime system for the computation language. The modiications needed in the compiler are restricted to speciic orthogonal extensions. We show that Eden's desi...

متن کامل

High-level Parallel and Concurrent Programming in Eden

Parallel and concurrent programming is commonly handled at a low level of abstraction. Even concurrent declarative languages which are especially appropriate for symbolic computation provide only primitive constructs for that purpose. In contrast, the functional concurrent language Eden is an extension of the lazy functional language Haskell by high level constructs for the explicit specificati...

متن کامل

Eden - Parallel Functional Programming with Haskell

Eden is a parallel functional programming language which extends Haskell with constructs for the definition and instantiation of parallel processes. Processes evaluate function applications remotely in parallel. The programmer has control over process granularity, data distribution, communication topology, and evaluation site, but need not manage synchronisation and data exchange between proces...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

متن کامل
عنوان ژورنال:
  • J. Funct. Program.

دوره 15  شماره 

صفحات  -

تاریخ انتشار 2005